class Animal(object):
    def eat(self):
        print('动物会吃东西')


class Dog(Animal):
    def eat(self):
        print('狗子喜欢啃骨头')


class Cat(object):
    def eat(self):
        print('猫喜欢吃鱼')


# 默认继承 object
class Mankind:
    def eat(self):
        print('人啥都吃')


# 定义一个函数
# 随便传一个 obj 来
def eat(obj):
    obj.eat()


# 调用函数
# Dog Cat 都继承了 Animal ，同时复写了 eat 方法，所以可以调用
eat(Dog())
print('---------------')
eat(Cat())
print('---------------')
eat(Animal())
print('---------------')
# Mankind 不存在继承关系，但是 Mankind 有 eat 这个方法所以依旧可以去调用
eat(Mankind())
